package com.wander.designCreational.simplefactory.factory;

import com.wander.designCreational.simplefactory.product.Phone;

/**
 * @Author : WDYin
 * @Date : 2020/5/9
 * @Description :
 */
public class FactoryPlusPlus {

    /**
     * <bean id="dataSource" class="com.wander.design.simplefactory.product.ApplePhoneImpl"/>
     * 熟悉吧！！！spring ioc 就是通过将下面的这句话配置在配置文件中，再利用反射创建对象，
     * 这就是spring ioc的原理：工厂+配置文件+反射！！ 以达到彻底解耦的作用
     **/
    private static String className = "com.wander.design.simplefactory.product.ApplePhoneImpl";

    public static Phone getPhone() throws Exception {
        return (Phone) Class.forName(className).newInstance();
    }
}
